package com.ccys.db.mapper;

import com.ccys.db.entity.TblBookingConsultNote;
import com.ccys.db.vo.consultation.*;
import com.ccys.db.vo.doctor.consultNote.GetConsultNoteVo;
import org.apache.ibatis.annotations.Param;
import tk.mybatis.mapper.common.Mapper;
import tk.mybatis.mapper.common.MySqlMapper;

import java.util.List;

/**
* Created by Mybatis Generator on 2023/12/25
*/
public interface TblBookingConsultNoteMapper extends Mapper<TblBookingConsultNote>, MySqlMapper<TblBookingConsultNote> {

    List<BookingConsultNoteVo> getList(String bookingId);

    ConsultationBasicsDetailVo getBasicsInfo(String bookingId);

    Integer getDeliveryType(String bookingId);

    String getReactiveOrderId(String bookingId);

    List<ConsultationDetailDeliveryInfoVo> getTimeBasedDeliveryInfo(String bookingId);

    List<ConsultationDetailDeliveryInfoVo> getLocationBasedDeliveryInfo(String bookingId);

    List<ConsultationDetailCdmpVo> getCdmp(String bookingId);

    List<ConsultationDetailMedicalServiceDetailVo> getMedicalServiceDetail(String bookingId);

    ConsultationDetailFeeDetailVo getFeeDetail(String bookingId);

    ConsultationDetailReactivatedPurchaseVo getReactivatedPurchase(String bookingId);

    List<ConsultationDetailFulfillVo> getPrescriptionFulfillList(String bookingId);

    List<ConsultationDetailPrescriptionDetailVo> getPrescriptionDetail(String bookId);


    ConsultationDetailAIAVo getAIACorporateInfo(String bookingId);


    void deleteSymptoms(String bookingId);

    void deleteDiagnosis(String bookingId);

    void deleteReferralLetter(String bookingId);

    ReferralLetterPDFVo getReferralLetterPdfData(String bookingId);

    MemoPDFVo getMemoPdfData(String bookingId);

    PrescriptionPDFVo getPrescriptionPdfData(String bookingId);

    OriginReceiptPDFVo getOriginalReceiptPdfData(String bookingId);

    List<ConsultationDetailPaymentInfoVo> getPaymentInfoList(String bookingId);


    List<TimeLineVo> getTimeLine(String bookingId);

    TblBookingConsultNote findById(@Param("id") String id);

    GetConsultNoteVo getConsultNote(@Param("bookingId") String bookingId,@Param("doctorId") String doctorId);
}